package com.xugui.learn.common.config;

import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.OpenAPI;
import org.springdoc.core.models.GroupedOpenApi;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * Knife4j 配置类
 */
@Configuration
public class Knife4jConfiguration {

    /**
     * 配置文档的基本信息
     *
     * @return 文档的基本信息
     */
    @Bean
    public OpenAPI openAPI() {
        return new OpenAPI().info(new Info()
                    .title("hello-knife4j项目API")
                    .version("1.0")
                    .description("hello-knife4j项目的接口文档")
                );
    }

    /**
     * 配置用户信息管理接口的分组
     *
     * @return 用户信息管理接口的分组
     */
    @Bean
    public GroupedOpenApi userAPI() {
        return GroupedOpenApi.builder().group("用户信息管理").pathsToMatch("/user/**").build();
    }
}